#include <REGX52.H>
#include "Delay.h"

/**
  * @brief  数码管显示数组
  * @param  无
  * @retval 无
  */
int arr[] = 
{	
	0x3F,0x06,0x5B,0x4F,0x66,//0~4
	0x6D,0x7D,0x07,0x7F,0x6F,//5~9
	0x77,0x7C,0x39,0x5E,0x79,0x71,//A~F
	0x00,//全灭
};

/**
  * @brief  数码管显示函数
  * @param  a 显示数字的位置 范围：1~8 从左到右
	* @param	b 要显示的数字 范围：0~16 输出16进制数，16为全灭
  * @retval 无
  */
void Nixie(int a,int b)
{
	switch(a)
	{
		case 1: P2_4 = 1; P2_3 = 1; P2_2 = 1; break;
		case 2: P2_4 = 1; P2_3 = 1; P2_2 = 0; break;
		case 3: P2_4 = 1; P2_3 = 0; P2_2 = 1; break;
		case 4: P2_4 = 1; P2_3 = 0; P2_2 = 0; break;
		case 5: P2_4 = 0; P2_3 = 1; P2_2 = 1; break;
		case 6: P2_4 = 0; P2_3 = 1; P2_2 = 0; break;
		case 7: P2_4 = 0; P2_3 = 0; P2_2 = 1; break;
		case 8: P2_4 = 0; P2_3 = 0; P2_2 = 0; break;		
	}
	P0 = arr[b];
	//静态显示时不需要延时清零操作	
//	Delay(1);
//	P0 = 0x00;//在赋值后延时1毫秒进行清零操作，防止篡位
}
